import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

import java.sql.SQLOutput;
import java.util.Arrays;

public class Main {

    public static void testSelectSort(int[] arr) {
        int[] tmpArray=Arrays.copyOf(arr,arr.length);
        long startTime= System.currentTimeMillis();
        Sort.selectSort(tmpArray);
        long endTime=System.currentTimeMillis();
        System.out.println("选择排序耗时"+(endTime-startTime));
    }

    public static void main100(String[] args) {
        int[] arr=new int[10_10000];
        testSelectSort(arr);
    }

    public static void main1(String[] args) {
        int[] arr={8,2,1,5,4,9};
        Sort.insertSort(arr);
        System.out.println(Arrays.toString(arr));
        //System.out.println(arr); 用于打印数组 arr 的引用地址,通常是一个哈希码的无意义字符串
        //Arrays.toString(arr); 是Java的 Arrays 类提供的一个静态方法，
        // 它接受一个数组作为参数，并返回一个包含数组元素的字符串表示形式。实际上是在打印数组 arr 的内容

    }

    public static void main2(String[] args) {
        int[] arr={4,1,2,3,5,9,8,6,5,7};
        Sort.shellSort(arr);
        System.out.println(Arrays.toString(arr));
    }

    public static void main3(String[] args) {
        int[] arr={10,5,2,1,4};
        Sort.selectSort2(arr);
        System.out.println(Arrays.toString(arr));
    }


    public static void main4(String[] args) {
        int[] arr={10,5,2,1,4};
        Sort.bubbleSort(arr);
        System.out.println(Arrays.toString(arr));
    }

    public static void main5(String[] args) {
        int[] arr={4,1,2,3,5,9,8,6,5,7};
        Sort.quickSort(arr);
        System.out.println(Arrays.toString(arr));
    }

    public static void main6(String[] args) {
        int[] arr={27,15,19,18,28,34,65,49,25,37};
        Sort.heapSort(arr);
        System.out.println(Arrays.toString(arr));
    }


    public static void main(String[] args) {
        int[] arr={10,6,7,1,3,9,4,2};
        Sort.mergeSort(arr);
        System.out.println(Arrays.toString(arr));
    }

}